Recently, there have been used image forming apparatuses employing an electrophotographic method, such as a laser beam printer, as an output apparatus to be connected to a computer. Such image forming apparatuses have a function of receiving an instruction from a host computer as image-source data and outputting it on paper as an image, or receiving an image inputted from an image input apparatus such as a scanner as image-source data and outputting it on paper as an image.
FIG. 18 is a block diagram showing the functional configuration of a common image forming apparatus. Description will be made below on a process to be performed in the case of receiving an instruction from a host computer as image-source data and outputting it on paper as an image, with the use of FIG. 18.
Reference numeral 2201 denotes a host computer. A user operates the host computer 2201 to execute a printer driver and thereby generates image-source data. The print-source data generated here is commonly written in a printer control language for creating a page image, which is called PDL (Page Description Language). PDL data includes data such as characters, graphics and images.
The generated image-source data is transmitted to a printer controller 2202 of a printer connected via a network or the like. The printer controller 2202 is configured by a host instruction interpretation section 2203, an image generation instruction generation section 2204, an image generation section 2205, an image processing section 2206, a first storage device 2207 and a second storage device 2208.
Reference numeral 2209 denotes a printer engine connected to the printer controller 2202. The printer engine 2209 receives an image generated in a predetermined image format from the printer controller 2202 and outputs the received image on paper. In general, the image format inputted into a printer engine is a frame sequential image format for one-tone, two-tone or four-tone C (cyan), M (magenta), Y (yellow) and K (black) color printing.
The image-source data sent from the host computer 2201 is interpreted by the host instruction interpretation section 2203, and an instruction which can be interpreted by the image generation section 2205 is generated by the image generation instruction generation section 2204. The instruction generated by the image generation instruction generation section 2204 is stored in the first storage device 2207. The image generation section 2205 reads the instruction stored in the storage device 2207 and generates a bitmap image in the first storage device 2207. The generated bitmap image may be stored in the second storage device 2208 which has a larger capacity in comparison with the first storage device 2207. This is performed in order to reutilize the generated image, and, in general, image compression processing such as JPEG is performed for the bitmap image before it is stored. Generally, a hard disk is used as the second storage device 2208. The bitmap image stored in the first storage device 2207 may be compressed, for example, with the use of the JPEG coding method and then stored in the first storage device 2207.
Image processings such as color conversion and dithering are performed for the bitmap image generated in the first storage device 2207 by the image processing section 2206. When compressed data is stored in the first storage device 2207, the compressed data is decoded at this point, and then the above image processings are performed. This is because, if the image generation section 2205 generates an RGB image, conversion into an image format which can be transferred to the printer engine 2209 is required before transferring the image to the printer engine 2209. In this case, the RGB image stored in the first storage device 2207 is converted to a CMYK image with the use of a lookup table method or the like, and then further converted to a low-tone image by dithering processing. Processing such as smoothing may be performed by the image processing section 2206 to obtain a more desirable image.
By transferring the generated image data to the printer engine 2209, an image is outputted on paper. Through the processings described above, the process of outputting an instruction from the host computer on paper as image-source data has been completed.
Now, description will be made on a process to be performed when an image inputted from an image input apparatus such as a scanner and a digital camera is outputted on paper as image-source data.
Reference numeral 2210 denotes a scanner, which optically scans an image printed on paper or film, measures the intensity of reflected light and transmitted light of the image, performs A/D conversion, and transmits obtained digital image data to the printer controller 2202. Reference numeral 2220 denotes a digital camera, which changes light intensity into an electrical signal with a CCD configured by arrayed photodiodes and thereby transmits digital image data to the printer controller 2202. In this case, the digital image data generally becomes an RGB bitmap image.
The image data transmitted from the scanner 2210 or the digital camera 2220 is stored in the first storage device 2207. The data stored here also may be compressed and stored in the second storage device 2208. The image data is then converted to a low-tone CMYK image with the use of the method described above and transferred to the printer engine 2209 to output an image on paper. The process of outputting an image inputted from an image input apparatus such as a scanner on paper as image-source data now ends.
There is known a method of adding attribute information to image-source data inputted into a printer controller to switch image processing on a particular processing basis (for example, for each pixel or each object) in the image data generation process described above in order to output a more desirable image on paper.
For example, dither matrices used for dithering may be switched according to types of data included in PDL data transmitted to the printer controller, or lookup tables used for conversion from RGB to CMYK may be switched. In this case, the image generation section 2205 generates an attribute signal indicating which data type pixel belongs to, in addition to a bitmap image. The attribute signal and the bitmap image are coded with an image signal encoding method such as the JPEG and JBIG methods, then stored in the first storage device 2207, and transferred to the image processing section 2206. The image processing section 2206 decodes the encoded bitmap image and attribute signal, and determine which type each pixel constituting the decoded bitmap image belongs to by checking the decoded attribute signal. The image processing section 2206 then switches color conversion or a dither matrix to perform processing.
As described above, an attribute signal is generated by the image generation section 2205, and thereby it is possible to switch image processing for each data included in input data.
With regard to an image read from a scanner, there also may be a case where switching of image processing for each area is desired. In this case, for example, pattern matching is performed for an inputted bitmap image to determine the image included in the bitmap image, and an attribute signal is generated based on the result of the determination. Such an attribute signal is stored in the first storage device 2207, same as the case of PDL described above.
By generating an attribute signal from an inputted bitmap image as described above, it is possible to switch processing for each area in the bitmap image.
Conventional attribute information is in a format that can be appropriate for all image input apparatuses and all output modes in order to cope with various situations about what type of apparatus image-source data has been sent from, which print mode the image-source data is to be printed in, and the like.
However, the size of attribute information in a format that can be appropriate for all the situations is larger as the number of situations increases. Therefore, when such large-sized attribute information is held in the printer controller 2202, a large amount of the RAM capacity in the printer controller 2202 is occupied by the attribute information. In order to solve this problem, the bitmap resolution is lowered, or a part of attribute signals of the attribute information are deleted. This causes a problem of increase in frequency of causing degradation of the bitmap image quality.